32 research outputs found
Completeness for a First-order Abstract Separation Logic
Existing work on theorem proving for the assertion language of separation
logic (SL) either focuses on abstract semantics which are not readily available
in most applications of program verification, or on concrete models for which
completeness is not possible. An important element in concrete SL is the
points-to predicate which denotes a singleton heap. SL with the points-to
predicate has been shown to be non-recursively enumerable. In this paper, we
develop a first-order SL, called FOASL, with an abstracted version of the
points-to predicate. We prove that FOASL is sound and complete with respect to
an abstract semantics, of which the standard SL semantics is an instance. We
also show that some reasoning principles involving the points-to predicate can
be approximated as FOASL theories, thus allowing our logic to be used for
reasoning about concrete program verification problems. We give some example
theories that are sound with respect to different variants of separation logics
from the literature, including those that are incompatible with Reynolds's
semantics. In the experiment we demonstrate our FOASL based theorem prover
which is able to handle a large fragment of separation logic with heap
semantics as well as non-standard semantics.Comment: This is an extended version of the APLAS 2016 paper with the same
titl
Separation Logic Modulo Theories
Logical reasoning about program data often requires dealing with heap
structures as well as scalar data types. Recent advances in Satisfiability
Modular Theory (SMT) already offer efficient procedures for dealing with
scalars, yet they lack any support for dealing with heap structures. In this
paper, we present an approach that integrates Separation Logic---a prominent
logic for reasoning about list segments on the heap---and SMT. We follow a
model-based approach that communicates aliasing among heap cells between the
SMT solver and the Separation Logic reasoning part. An experimental evaluation
using the Z3 solver indicates that our approach can effectively put to work the
advances in SMT for dealing with heap structures. This is the first decision
procedure for the combination of separation logic with SMT theories.Comment: 16 page
Time bounds for general function pointers
10.1016/j.entcs.2012.08.010Electronic Notes in Theoretical Computer Science286139-15
A logical mix of approximation and separation
10.1007/978-3-642-17164-2_30Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)6461 LNCS439-45
A fresh look at separation algebras and share accounting
10.1007/978-3-642-10672-9_13Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)5904 LNCS161-17